"use strict";!function(e,t){function r(e,t){function r(r){var n=function(){};return"function"==typeof e[r]?n=e[r]:"function"==typeof e.log&&(n=e.log.bind(e,r.toUpperCase()+" |")),function(){var o=Array.prototype.slice.call(arguments),s=[Date.now(),r].concat(o);if(i.messages.push(s),t&&e){var a=[i.mark].concat(o);n.apply(e,a)}}}var i={mark:"[sdk]",messages:[]};return i.info=r("info"),i.warn=r("warn"),i.error=r("error"),i}function i(t){var r={v:4},i=r.DEBUG=t.DEBUG;return r.config=t.config,r.started=t.started,r.logger=t.logger,r.log=t.logger.info,r.logi=t.logger.info,r.logw=t.logger.warn,r.loge=t.logger.error,r.window=t.window,r.document=t.window.document,r.API_HOST=t.apiHost,r.STATIC_HOST=t.staticHost||t.apiHost,r.NAMESPACE=t.namespace,r.widgetImplementations={},r.widgets=[],r.ALREADY_SUBSCRIBED="ALREADY_SUBSCRIBED",r.CLOSE_BUTTON_CLICK="CLOSE_BUTTON_CLICK",r.SUBSCRIBED="SUBSCRIBED",r.SUBSCRIPTION_FAILED="SUBSCRIPTION_FAILED",r._cachedFn=function(e,t){function i(i){var o=null;try{o=t?r.stringify(i):r.stringify(arguments)}catch(e){}return null===o?e.apply(this,arguments):(o in n||(n[o]=e.apply(this,arguments)),n[o])}var n;return i.reset=function(){n={}},i.reset(),i},r.$=function(){var e=r[r._jqholdername];return"function"!=typeof e?r.loge("Call `attachJquery` and ensure its execution is finished."):arguments.length>0?e.apply(e,arguments):e},r.attachGAPromise=function(){return r.getFusionDataPromise().then(function(e){var t=e.gaid;if(!t)return!1;!function(e,t,r,i,n,o,s){e.GoogleAnalyticsObject=n,e[n]=e[n]||function(){(e[n].q=e[n].q||[]).push(arguments)},e[n].l=1*new Date,o=t.createElement(r),s=t.getElementsByTagName(r)[0],o.async=1,o.src="//www.google-analytics.com/analytics.js",s.parentNode.insertBefore(o,s)}(r.window,document,"script",0,o);var i={trackingId:t,cookieDomain:"auto"};return e.gaparams&&e.gaparams.sample_rate&&(i.sampleRate=e.gaparams.sample_rate),r.window[o]("create",i),r.window[o]("require","displayfeatures"),r.window[o]("send","pageview"),!0}).then(function(e){return r.logi("attachGAPromise finished with:",r.nowStr(),{added:e}),e}).error(function(e){return r.loge("attachGAPromise failed with:",e),!1})},r.attachJquery=function(e){function t(t,n){if(r.logi("jQuery has been loaded:",n),r._jqholdername="_jq"+Math.random()+":"+f,r[r._jqholdername]=t,i&&(r.window.$=r.window.jQuery=r.window.jQuery||r.window.$||t),!r.API_HOST||"string"!=typeof r.API_HOST){var o=r.getSdkScript(),s=o.prop("src");if(!s)return r.loge('No SDK script tag or wrong "src":',o[0],s),r;r.API_HOST=r.getOrigin(s)}r.STATIC_HOST&&"string"==typeof r.STATIC_HOST||(r.STATIC_HOST=r.API_HOST),e()}function n(){return r.window.jQuery&&r.window.jQuery.fn&&"function"==typeof r.window.jQuery.fn.on&&"function"==typeof r.window.jQuery.fn.find&&"function"==typeof r.window.jQuery.fn.prop}function o(e){var i=r.window.jQuery,n=r.document.createElement("script");n.type="text/javascript",n.src=s,n.async=!0,n.onload=function(){var n=r.window.jQuery.noConflict(!0);r.window.jQuery=i,t(n,e)},r.document.getElementsByTagName("head")[0].appendChild(n)}var s="//code.jquery.com/jquery-2.2.0.min.js";r.window.jQuery?n()?t(r.window.jQuery,"existing in app.window"):function(e,t){function i(){clearInterval(a),a=null,o=!1}var o=!0;"function"==typeof r.window.jQuery&&r.window.jQuery(function(){n()&&(o&&e(r.window.jQuery,"recovered from existing faked instance as app.window.jQuery function"),i())});var s=10,a=setInterval(function(){if(o)return n()?(e(r.window.jQuery,"recovered from existing faked instance as app.window.jQuery object"),void i()):void(--s<=0&&(t("our instance after recovery attempt"),i()));i()},500)}(t,o):o("our instance")},r.copyAttributes=function(e,t){var i=r.$(e),n=r.$(t||{}),o=i.prop("attributes");return r.$().each(o,function(){n.attr(this.name,this.value)}),n[0]},r.createWidgetPromise=function(e,t,i){var n=!1;return r.verifyWidgetShouldBeShownPromise(e,t,i).then(function(){var t=r.isString(e.type,1),i=r.isString(r.get(e,"custom.displayer"),1);if(!t&&!i)return r.reject("Widget displayer is not specified");var o=[],s=r.resolve(!1);e.behavior.skip_base_implementation||o.push(r.loadWidgetImplementation("predefined","base").then(function(t){return r.isFunction(t)||(r.loge("createWidgetPromise","Base widget implementation",r.stringify(e.type),"has not been loaded:",t),n=!0),t})),t&&(o.push(r.loadWidgetImplementation("predefined",e.type).then(function(t){return r.isFunction(t)||(r.loge("createWidgetPromise","Predefined widget implementation",r.stringify(e.type),"has not been loaded:",t),n=!0),t})),r.get(e,"view.iframe_resizer_is_needed")&&(s=r.loadScriptPromise(r.STATIC_HOST+"/public/sdk/vx/lib/iframeResizer/iframeResizer.min.js"))),i&&o.push(r.loadWidgetImplementation("custom",e.custom.displayer).then(function(t){return r.isFunction(t)||(r.loge("createWidgetPromise","Custom widget implementation",r.stringify(e.custom),"has not been loaded:",t),n=!0),t}));var a=r.resolve(!1);return e.behavior.skip_state_machine_code||(a=r.loadScriptPromise(r.STATIC_HOST+"/public/sdk/vx/lib/state-machine/state-machine.min.js")),r.join(r.Promise.all(o),s,a)}).spread(function(t){if(n)return null;for(var o=function(){},s=0,a=t.length;s-1){var n=this.events[i];if(!r.$().isArray(n))continue;r.$().each(n,function(i,n){try{n(t)}catch(i){r.loge("EventEmitter::emit failed",e,t,i,n)}})}},e.prototype.off=function(e,t){var i=!r.isFunction(t);if(!e||"string"!=typeof e)return!1;var n=!1;for(var o in this.events)if(o===e||o.split(".").indexOf(e)>-1){if(!r.$().isArray(this.events[o]))continue;this.events[o]=r.$().grep(this.events[o],function(e){return n=i||e===t})}return n},e.prototype.on=function(e,t){if(!r.isFunction(t))throw new Error('EventEmitter::on("'+e+'", fn) second argument must be function, but passed: '+r.stringify(t));r.$().isArray(this.events[e])||(this.events[e]=[]),this.events[e].push(t);var i=this;return function(){return i.off(e,t)}},e}(),r.exposePublicApi=function(e){r.$().isPlainObject(e)||r.isFunction(e)||(e=r.publicApi),e.getCurrentPushState=r.getCurrentPushStatePromise,e.getRecommendationsForWidget=r.getRecommendationsForWidget,e.getShownWidgets=r.getShownWidgets,e.getVisibleWidgets=r.getVisibleWidgets,e.handleUserDataPromise=r.handleUserDataPromise,e.handleUserEmail=r.handleUserEmailPromise,e.initSDK=r.initSDK,e.initWidget=r.initWidgetPromise,e.isWidgetLocked=r.isWidgetLocked,e.log=i?r.log:{},e.log.messages=r.logger.messages,e.registerWidget=r.registerWidget,e.requestNotifyPermission=r.requestNotifyPermissionPromise,e.setWidgetLocks=r.setWidgetLocks,e.showWidget=r.showWidgetPromise,e.subscribeToPushSquads=r.subscribeToPushSquadsPromise,e.trackVisit=r.trackVisit},r.extend=function(e){if(r.isFunction(e)){var t=["$","getLocationPathParam","getLocationQueryParam","loge","reject"].reduce(function(e,t){return e[t]=r[t],e},{});["getFusionId","getLocation","verifyWidgetShouldBeShownPromise","shouldWidgetShowFormInsteadOfHide","isNodeVisible"].forEach(function(i){var n=r[i];if("function"==typeof n){var o=n;n=function(){for(var e=[],t=0;t=0&&n.isShown()&&t.push(n.config.id)}),t},r.getStorage=r._cachedFn(function(){return function(){var e=r.NAMESPACE+r.guid();try{return r.window.localStorage.setItem(e,e),r.window.localStorage.removeItem(e),!0}catch(e){return!1}}()?r.window.localStorage:(r.logw("getStorage","localStorage is not supported. Dummy storage will be used."),{getItem:function(){return null},setItem:function(){}})}),r.getPublicVapidKeyForPushPromise=function(){return r.getFusionDataPromise().then(function(e){var t=r.get(e,"push"),i=r.get(t,"vapidKeys.public");return i||r.reject("VapidKeys were not setup")})},r.getVisibleWidgets=function(e){if(r.isString(e))e=[e];else{if(!r.$().isArray(e))return[];e=r.$().map(e,String)}if(!r.widgets||!r.widgets.length)return[];var t=[];return r.$().each(r.widgets,function(i,n){r.$().inArray(n.config.type,e)>=0&&n.isVisible()&&t.push(n.config.id)}),t},r.getVisitNumber=function(){return r.prepareSessionData().visitNumber},r.getWebPushIdForSafariPromise=function(){return r.getFusionDataPromise().then(function(e){var t=r.get(e,"push.safari.web_push_id");return t||r.reject("Integration for Safari was not setup")})},r.guid=function(){return Number(new Date)+Math.random().toString().substr(1,11)},r.handleClose=function(e,t){var i=new Date;switch(t.reason){case r.ALREADY_SUBSCRIBED:case r.SUBSCRIBED:i.setFullYear(i.getFullYear()+2);break;case r.CLOSE_BUTTON_CLICK:case r.SUBSCRIPTION_FAILED:break;default:r.loge("Unexpected closing reason:",t.reason)}if(e&&e.config){var n="user_closed_"+e.config.id,o=Number(i),s=r.prepareOneYearExpireValueForCookie();r.setCookie(n,o,s)}},r.handleMessagesInProxyIframe=function(){r.$(r.window).on("message."+s+"_wgt",function(e){var t=e&&e.originalEvent;if(t&&t.source){var i=t.data;try{if(!r.isCorrectNameSpace(i))return;var n=(i=r.parseEventsFromPostMessages(i))&&i.type;t.source===r.window.parent&&"initWidgetInIframe"===n&&(r.initWidgetPromise(i.value&&i.value.widgetId),r.logi("handleMessagesInProxyIframe:: initWidget message was sent to iframe",i))}catch(e){r.loge("handleMessagesInProxyIframe:: receiveMessage failed",i,e)}}})},r.handleUserDataPromise=function(e,t){return r.try(function(){var i=e.squads,n=e.email;if(!n)return!1;var o,s=r.handleUserEmailPromise(n);return i&&i.length&&(o=r.getFusionDataPromise().then(function(o){return r.subscribePromise(o.publisher||-1,n,i).then(function(n){if(!n)return r.handleClose(t,{reason:r.SUBSCRIPTION_FAILED}),!1;for(var s=0,a=i.length;s=4||console.error(a+" message: You use integration code v.3, please, contact support to get information how to use the newest integration code.");var e="unknown integration";try{r.document.currentScript&&(e=r.config)}catch(t){e=String(t&&t.message||t)}var t="You use more than one integration code at one page. You should use only one.";return r.loge(a+" message: "+t,e),console.error("[ "+a+" ] message: "+t),!1}return r.publicApi=r.window[c]=i?r:{v:4},!0},r.isCorrectNameSpace=function(e){return e&&0===e.indexOf(r.NAMESPACE)},r.isEmailValid=function(e){return!!e&&/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(String(e))},r.isFunction=function(e){return"function"==typeof e},r.isIosDevise=function(){return/iPad|iPhone|iPod/.test(r.getNavigator().userAgent)&&!r.window.MSStream},r.isSafari=function(){return/constructor/i.test(e.HTMLElement)||"[object SafariRemoteNotification]"===(!e["safari"]||typeof r.window.safari!=="undefined"&&r.window.safari.pushNotification).toString()},r.isLike=function(e,t){if(!r.isObject(e)||r.isObject(t))return!1;for(var i in t)if(e[i]!==t[i])return!1;return!0},r.isNumber=function(e){return"number"==typeof e&&e===e},r.isObject=function(e){return e&&"object"==typeof e},r.isString=function(e,t,i){return"string"==typeof e&&(!(r.isNumber(t)&&e.lengthi))},r.initSDK=function(){r._initialized?r.loge("initSDK","Have been already run integration"):(r._initialized=!0,r.initiatePromise(),r.attachGAPromise(),r.initAllWidgetsPromise(),r.initPushSubscriptionMigrationPromise())},r.isWidgetLocked=function(e,t){return r.lock.checkLocks(e,t)},r.isMobile=function(){var e=r.$(r.document);return e.outerWidth()<768||e.outerHeight()<768},r.isNodeVisible=function(t){try{var i=r.$(t);if(!(t=i[0]))return!1;if(!(t.offsetWidth*t.offsetHeight))return!1;if(i.css("opacity")<.2||"hidden"===i.css("visibility")||i.filter(":hidden").length)return!1;var n=r.$(e),o=n.width(),s=n.height();if(r.isFunction(t.getBoundingClientRect)){var a=t.getBoundingClientRect(),u=a.top>=0&&a.top0&&a.bottom<=s,d=a.left>=0&&a.left0&&a.right<=o,l=u||c,g=d||f;return l&&g}var p=n.scrollTop(),m=p+s,h=n.scrollLeft(),v=h+o,w=i.offset(),P=w.top,y=P+i.height(),b=w.left,S=b+i.width();return P<=m&&y>=p&&b<=v&&S>=h}catch(e){return r.loge("isNodeVisible error:",e),!1}},r.isSourceUrlWhitelisted=function(e){try{for(var t=e.items.slice(0,e.length),i=r.getLocation(),n=!0,o=0;o=0?"&":"?")+"v="+i.version;return r.promise(function(e,i){t&&r.isObject(t)||(t={width:0,height:0,position:"fixed",top:-1e3,left:-1e3,border:0});var s=r.$("